package com.wondertek.service.sdk.iotdh.dto.res.network;

import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;

import java.util.List;


/**
 * @author xxx
 * @Date 2024/9/5 15:33
 */
@Data
public class GetMobileNetworkInfoRes {
    @Schema(name = "enable", description = "使")
    private Boolean enable;

    @Schema(name = "index", description = "移动网络下标")
    private Integer index;

    @Schema(name = "moduleIndex", description = "模块索引 Read-only The index is obtained by the PAL layer. 索引由 PAL 层获取。")
    private Integer moduleIndex;

    @Schema(name = "imsEnable", description = "移动网络模块的 IMS 交换机 As for modules that do not support 2G and 3G, if IMS is disabled, phone call and SMS services cannot be used with SIM cards.")
    private Boolean imsEnable;

    @Schema(name = "keepAlive", description = "保持生意 当应用程序检测到连接在一段时间内未使用时，它会将 activate 标志更改为 false 并设置配置。单位：秒。0 表示连接是连续的，不会自动断开连接。")
    private Integer keepAlive;

    @Schema(name = "simCfg", description = "当前模块使用的 SIM 卡号。 The default value is 1. 默认值为 1。")
    private Integer simCfg;

    @Schema(name = "autoDial", description = "按时间自动拨号 默认值：true。如果关闭，则 timeSection 配置无效。")
    private Boolean autoDial;

    @Schema(name = "timeSection", description = "2D 数组。每周 7 天，每天 6 个时间段。时间段由字符串表示。字符串开头的数字 1 表示时间段有效。0 表示时间段无效。当时间在有效期内时，将启用拨号。当时间超出有效期时，将关闭拨号")
    private String[][] timeSection;

    @Schema(name = "workMode", description = "工作模式")
    private String workMode;

    @Schema(name = "activate", description = "激活")
    private boolean activate;

    @Schema(name = "cardNum", description = "卡号")
    private String cardNum;

    @Schema(name = "imei", description = "15位IMEI码")
    private String imei;

    @Schema(name = "iccId", description = "集成电路卡识别（ICCID）")
    private String iccId;

    @Schema(name = "antNumber", description = "可设置的天线数量")
    private Integer antNumber;

    @Schema(name = "antMode", description = "天线模式")
    private String antMode;

    @Schema(name = "mtu", description = "移动网卡的 MTU 值")
    private Integer mtu;

    @Schema(name = "antSwitchMode", description = "天线工作模块")
    private String antSwitchMode;

    private CellularRssiReport cellularRssiReport;

    private SmartSwitchSimCard smartSwitchSimCard;

    private List<Sim> sims;

    @Schema(name = "mobileNetworkFluxTactic", description = "整数 蜂窝数据使用策略")
    private Integer mobileNetworkFluxTactic;

    @Schema(name = "mobileNetworkFluxUp", description = "整数 蜂窝数据使用上限")
    private Integer mobileNetworkFluxUp;

    @Schema(name = "mobileNetworkFlux", description = "整数 实际使用的蜂窝数据")
    private Integer mobileNetworkFlux;

    @Schema(name = "dayMobileNetworkFluxTactic", description = "字符串 每日蜂窝数据的控制策略")
    private String dayMobileNetworkFluxTactic;

    @Schema(name = "dayMobileNetworkFluxUp", description = "整数 每日数据使用量上限")
    private Integer dayMobileNetworkFluxUp;

    @Schema(name = "dayMobileNetworkFluxUse", description = "整数 每日数据使用量")
    private Integer dayMobileNetworkFluxUse;

    @Schema(name = "dayMobileNetworkFluxAction", description = "字符串 数据告警策略")
    private String dayMobileNetworkFluxAction;

    @Schema(name = "dayMobileNetworkFluxEnable", description = "布尔 计划模式是否启用")
    private Boolean dayMobileNetworkFluxEnable;

    @Schema(name = "dayMobileNetworkFluxType", description = "字符串 选择数据计划类型")
    private String dayMobileNetworkFluxType;

    @Schema(name = "monthMobileNetworkFluxTactic", description = "字符串 每月蜂窝数据控制策略")
    private String monthMobileNetworkFluxTactic;

    @Schema(name = "monthMobileNetworkFluxUp", description = "整数 每月数据使用量上限")
    private Integer monthMobileNetworkFluxUp;

    @Schema(name = "monthMobileNetworkFluxUse", description = "整数 每月数据使用量")
    private Integer monthMobileNetworkFluxUse;

    @Schema(name = "monthMobileNetworkFluxStartDay", description = "整数 计划每月的开始日期")
    private Integer monthMobileNetworkFluxStartDay;

    @Schema(name = "monthAvgDayUp", description = "整数 月度计划模式下当月的平均每日数据限制")
    private Integer monthAvgDayUp;

    @Schema(name = "monthMobileNetworkFluxEnable", description = "布尔 包月模式下是否开启当月的日流量限制")
    private Boolean monthMobileNetworkFluxEnable;

    @Schema(name = "yearMobileNetworkFluxUp", description = "整数 每年数据使用量上限")
    private Integer yearMobileNetworkFluxUp;

    @Schema(name = "yearMobileNetworkFluxUse", description = "整数 每年数据使用量")
    private Integer yearMobileNetworkFluxUse;

    @Schema(name = "yearMobileNetworkFluxStartMonth", description = "整数 计划每年开始的月份")
    private Integer yearMobileNetworkFluxStartMonth;

    @Schema(name = "yearMobileNetworkFluxStartDay", description = "整数 计划每月的开始日期")
    private Integer yearMobileNetworkFluxStartDay;

    @Schema(name = "yearAvgMonthUp", description = "整数 年度计划模式下的平均每月数据限制")
    private Integer yearAvgMonthUp;

    @Schema(name = "yearMobileNetworkFluxEnable", description = "布尔 年计划模式下是否开启当年的月度数据限制")
    private Boolean yearMobileNetworkFluxEnable;
}
